home *** CD-ROM | disk | FTP | other *** search
/ Clickx 115 / Clickx 115.iso / software / tools / windows / tails-i386-0.16.iso / live / filesystem.squashfs / usr / share / uim / japanese.scm < prev    next >
Encoding:
Text File  |  2010-11-07  |  30.1 KB  |  920 lines

  1. ;;;
  2. ;;; Copyright (c) 2003-2009 uim Project http://code.google.com/p/uim/
  3. ;;;
  4. ;;; All rights reserved.
  5. ;;;
  6. ;;; Redistribution and use in source and binary forms, with or without
  7. ;;; modification, are permitted provided that the following conditions
  8. ;;; are met:
  9. ;;; 1. Redistributions of source code must retain the above copyright
  10. ;;;    notice, this list of conditions and the following disclaimer.
  11. ;;; 2. Redistributions in binary form must reproduce the above copyright
  12. ;;;    notice, this list of conditions and the following disclaimer in the
  13. ;;;    documentation and/or other materials provided with the distribution.
  14. ;;; 3. Neither the name of authors nor the names of its contributors
  15. ;;;    may be used to endorse or promote products derived from this software
  16. ;;;    without specific prior written permission.
  17. ;;;
  18. ;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND
  19. ;;; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  20. ;;; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  21. ;;; ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE
  22. ;;; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  23. ;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  24. ;;; OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  25. ;;; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  26. ;;; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  27. ;;; OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  28. ;;; SUCH DAMAGE.
  29. ;;;;
  30.  
  31. ;; Japanese EUC
  32. (define ja-rk-rule-basic
  33.   '(
  34.     ((("-"). ())("í╝" "í╝" "Ä░"))
  35.     (((","). ())("íó" "íó" "Äñ"))
  36.     ((("."). ())("íú" "íú" "Äí"))
  37.     ((("!"). ())("í¬" "í¬" "!"))
  38.     ((("\""). ())("í╔" "í╔" "\""))
  39.     ((("#"). ())("í⌠" "í⌠" "#"))
  40.     ((("$"). ())("í≡" "í≡" "$"))
  41.     ((("%"). ())("í≤" "í≤" "%"))
  42.     ((("&"). ())("í⌡" "í⌡" "&"))
  43.     ((("'"). ())("í╟" "í╟" "'"))
  44.     ((("("). ())("í╩" "í╩" "("))
  45.     (((")"). ())("í╦" "í╦" ")"))
  46.     ((("~"). ())("í┴" "í┴" "~"))
  47.     ((("="). ())("íß" "íß" "="))
  48.     ((("^"). ())("í░" "í░" "^"))
  49.     ((("\\"). ())("í└" "í└" "\\"))
  50.     ((("|"). ())("í├" "í├" "|"))
  51.     ((("`"). ())("í╞" "í╞" "`"))
  52.     ((("@"). ())("í≈" "í≈" "@"))
  53.     ((("{"). ())("í╨" "í╨" "{"))
  54.     ((("["). ())("í╓" "í╓" "Äó"))
  55.     ((("+"). ())("í▄" "í▄" "+"))
  56.     (((";"). ())("í¿" "í¿" ";"))
  57.     ((("*"). ())("í÷" "í÷" "*"))
  58.     (((":"). ())("íº" "íº" ":"))
  59.     ((("}"). ())("í╤" "í╤" "}"))
  60.     ((("]"). ())("í╫" "í╫" "Äú"))
  61.     ((("<"). ())("íπ" "íπ" "<"))
  62.     (((">"). ())("íΣ" "íΣ" ">"))
  63.     ((("?"). ())("í⌐" "í⌐" "?"))
  64.     ((("/"). ())("í┐" "í┐" "/"))
  65.     ((("_"). ())("í▓" "í▓" "_"))
  66.     ;; Since ordinary Japanese users press the "yen sign" key on
  67.     ;; Japanese keyboard in romaji-halfwidth-kana-mode "to input
  68.     ;; character code 134" rather than "to input yen sign symbol", I
  69.     ;; changed the fullwidth yen sign with backslash.
  70.     ;;   -- YamaKen 2007-09-17
  71.     ;; ((("yen"). ())("í∩" "í∩" "í∩")) ;; XXX
  72.     ((("yen"). ())("í∩" "í∩" "\\"))
  73.  
  74.     ((("1"). ())("1" "1" "1"))
  75.     ((("2"). ())("2" "2" "2"))
  76.     ((("3"). ())("3" "3" "3"))
  77.     ((("4"). ())("4" "4" "4"))
  78.     ((("5"). ())("5" "5" "5"))
  79.     ((("6"). ())("6" "6" "6"))
  80.     ((("7"). ())("7" "7" "7"))
  81.     ((("8"). ())("8" "8" "8"))
  82.     ((("9"). ())("9" "9" "9"))
  83.     ((("0"). ())("0" "0" "0"))
  84.  
  85.     ((("a"). ())("ñó" "Ñó" "Ä▒"))
  86.     ((("i"). ())("ññ" "Ññ" "Ä▓"))
  87.     ((("u"). ())("ñª" "Ѫ" "Ä│"))
  88.     ((("e"). ())("ñ¿" "Ñ¿" "Ä┤"))
  89.     ((("o"). ())("ñ¬" "Ѭ" "Ä╡"))
  90.  
  91.     ((("x" "a"). ())("ñí" "Ñí" "ĺ"))
  92.     ((("x" "i"). ())("ñú" "Ñú" "Ä¿"))
  93.     ((("x" "y" "i"). ())("ñú" "Ñú" "Ä¿"))
  94.     ((("x" "u"). ())("ñÑ" "ÑÑ" "Ä⌐"))
  95.     ((("x" "e"). ())("ñº" "Ѻ" "Ĭ"))
  96.     ((("x" "y" "e"). ())("ñº" "Ѻ" "Ĭ"))
  97.     ((("x" "o"). ())("ñ⌐" "Ñ⌐" "Ľ"))
  98.  
  99.     ((("l" "a"). ())("ñí" "Ñí" "ĺ"))
  100.     ((("l" "i"). ())("ñú" "Ñú" "Ä¿"))
  101.     ((("l" "u"). ())("ñÑ" "ÑÑ" "Ä⌐"))
  102.     ((("l" "e"). ())("ñº" "Ѻ" "Ĭ"))
  103.     ((("l" "o"). ())("ñ⌐" "Ñ⌐" "Ľ"))
  104.  
  105.     ((("k" "k"). ("k"))("ñ├" "Ñ├" "Ä»"))
  106.  
  107.     ((("k" "a"). ())("ñ½" "ѽ" "Ä╢"))
  108.     ((("k" "i"). ())("ñ¡" "Ñ¡" "Ä╖"))
  109.     ((("k" "u"). ())("ñ»" "Ñ»" "Ä╕"))
  110.     ((("k" "e"). ())("ñ▒" "Ñ▒" "Ä╣"))
  111.     ((("k" "o"). ())("ñ│" "Ñ│" "Ä║"))
  112.     ((("k" "y" "a"). ())(("ñ¡" "Ñ¡" "Ä╖") ("ñπ" "Ñπ" "ļ")))
  113.     ((("k" "y" "i"). ())(("ñ¡" "Ñ¡" "Ä╖") ("ñú" "Ñú" "Ä¿")))
  114.     ((("k" "y" "u"). ())(("ñ¡" "Ñ¡" "Ä╖") ("ñσ" "Ñσ" "Ä¡")))
  115.     ((("k" "y" "e"). ())(("ñ¡" "Ñ¡" "Ä╖") ("ñº" "Ѻ" "Ĭ")))
  116.     ((("k" "y" "o"). ())(("ñ¡" "Ñ¡" "Ä╖") ("ñτ" "Ñτ" "Ä«")))
  117.  
  118.     ((("g" "g"). ("g"))("ñ├" "Ñ├" "Ä»"))
  119.  
  120.  
  121.     ((("g" "a"). ())("ñ¼" "Ѽ" "Ä╢Ä▐"))
  122.     ((("g" "i"). ())("ñ«" "Ñ«" "Ä╖Ä▐"))
  123.     ((("g" "u"). ())("ñ░" "Ñ░" "Ä╕Ä▐"))
  124.     ((("g" "e"). ())("ñ▓" "Ñ▓" "Ä╣Ä▐"))
  125.     ((("g" "o"). ())("ñ┤" "Ñ┤" "Ä║Ä▐"))
  126.  
  127.     ((("g" "y" "a"). ())(("ñ«" "Ñ«" "Ä╖Ä▐") ("ñπ" "Ñπ" "ļ")))
  128.     ((("g" "y" "i"). ())(("ñ«" "Ñ«" "Ä╖Ä▐") ("ñú" "Ñú" "Ä¿")))
  129.     ((("g" "y" "u"). ())(("ñ«" "Ñ«" "Ä╖Ä▐") ("ñσ" "Ñσ" "Ä¡")))
  130.     ((("g" "y" "e"). ())(("ñ«" "Ñ«" "Ä╖Ä▐") ("ñº" "Ѻ" "Ĭ")))
  131.     ((("g" "y" "o"). ())(("ñ«" "Ñ«" "Ä╖Ä▐") ("ñτ" "Ñτ" "Ä«")))
  132.  
  133.     ((("s" "s"). ("s"))("ñ├" "Ñ├" "Ä»"))
  134.  
  135.     ((("s" "a"). ())("ñ╡" "Ñ╡" "Ä╗"))
  136.     ((("s" "i"). ())("ñ╖" "Ñ╖" "Ä╝"))
  137.     ((("s" "u"). ())("ñ╣" "Ñ╣" "Ä╜"))
  138.     ((("s" "e"). ())("ñ╗" "Ñ╗" "Ä╛"))
  139.     ((("s" "o"). ())("ñ╜" "Ñ╜" "Ä┐"))
  140.  
  141.     ((("s" "y" "a"). ())(("ñ╖" "Ñ╖" "Ä╝") ("ñπ" "Ñπ" "ļ")))
  142.     ((("s" "y" "i"). ())(("ñ╖" "Ñ╖" "Ä╝") ("ñú" "Ñú" "Ä¿")))
  143.     ((("s" "y" "u"). ())(("ñ╖" "Ñ╖" "Ä╝") ("ñσ" "Ñσ" "Ä¡")))
  144.     ((("s" "y" "e"). ())(("ñ╖" "Ñ╖" "Ä╝") ("ñº" "Ѻ" "Ĭ")))
  145.     ((("s" "y" "o"). ())(("ñ╖" "Ñ╖" "Ä╝") ("ñτ" "Ñτ" "Ä«")))
  146.  
  147.     ((("z" "z"). ("z"))("ñ├" "Ñ├" "Ä»"))
  148.  
  149.     ((("z" "a"). ())("ñ╢" "Ñ╢" "Ä╗Ä▐"))
  150.     ((("z" "i"). ())("ñ╕" "Ñ╕" "Ä╝Ä▐"))
  151.     ((("z" "u"). ())("ñ║" "Ñ║" "Ä╜Ä▐"))
  152.     ((("z" "e"). ())("ñ╝" "Ñ╝" "Ä╛Ä▐"))
  153.     ((("z" "o"). ())("ñ╛" "Ñ╛" "Ä┐Ä▐"))
  154.     ((("z" "y" "a"). ())(("ñ╕" "Ñ╕" "Ä╝Ä▐") ("ñπ" "Ñπ" "ļ")))
  155.     ((("z" "y" "i"). ())(("ñ╕" "Ñ╕" "Ä╝Ä▐") ("ñú" "Ñú" "Ä¿")))
  156.     ((("z" "y" "u"). ())(("ñ╕" "Ñ╕" "Ä╝Ä▐") ("ñσ" "Ñσ" "Ä¡")))
  157.     ((("z" "y" "e"). ())(("ñ╕" "Ñ╕" "Ä╝Ä▐") ("ñº" "Ѻ" "Ĭ")))
  158.     ((("z" "y" "o"). ())(("ñ╕" "Ñ╕" "Ä╝Ä▐") ("ñτ" "Ñτ" "Ä«")))
  159.  
  160.     ((("j" "j"). ("j"))("ñ├" "Ñ├" "Ä»"))
  161.  
  162.     ((("j" "a"). ())(("ñ╕" "Ñ╕" "Ä╝Ä▐") ("ñπ" "Ñπ" "ļ")))
  163.     ((("j" "i"). ())("ñ╕" "Ñ╕" "Ä╝Ä▐"))
  164.     ((("j" "u"). ())(("ñ╕" "Ñ╕" "Ä╝Ä▐") ("ñσ" "Ñσ" "Ä¡")))
  165.     ((("j" "e"). ())(("ñ╕" "Ñ╕" "Ä╝Ä▐") ("ñº" "Ѻ" "Ĭ")))
  166.     ((("j" "o"). ())(("ñ╕" "Ñ╕" "Ä╝Ä▐") ("ñτ" "Ñτ" "Ä«")))
  167.  
  168.     ((("j" "y" "a"). ())(("ñ╕" "Ñ╕" "Ä╝Ä▐") ("ñπ" "Ñπ" "ļ")))
  169.     ((("j" "y" "i"). ())(("ñ╕" "Ñ╕" "Ä╝Ä▐") ("ñú" "Ñú" "Ä¿")))
  170.     ((("j" "y" "u"). ())(("ñ╕" "Ñ╕" "Ä╝Ä▐") ("ñσ" "Ñσ" "Ä¡")))
  171.     ((("j" "y" "e"). ())(("ñ╕" "Ñ╕" "Ä╝Ä▐") ("ñº" "Ѻ" "Ĭ")))
  172.     ((("j" "y" "o"). ())(("ñ╕" "Ñ╕" "Ä╝Ä▐") ("ñτ" "Ñτ" "Ä«")))
  173.  
  174.     ((("t" "t"). ("t"))("ñ├" "Ñ├" "Ä»"))
  175.     ((("t" "c"). ("c"))("ñ├" "Ñ├" "Ä»"))
  176.  
  177.     ((("t" "a"). ())("ñ┐" "Ñ┐" "Ä└"))
  178.     ((("t" "i"). ())("ñ┴" "Ñ┴" "Ä┴"))
  179.     ((("t" "u"). ())("ñ─" "Ñ─" "Ä┬"))
  180.     ((("t" "e"). ())("ñ╞" "Ñ╞" "Ä├"))
  181.     ((("t" "o"). ())("ñ╚" "Ñ╚" "Ä─"))
  182.  
  183.     ((("t" "y" "a"). ())(("ñ┴" "Ñ┴" "Ä┴") ("ñπ" "Ñπ" "ļ")))
  184.     ((("t" "y" "i"). ())(("ñ┴" "Ñ┴" "Ä┴") ("ñú" "Ñú" "Ä¿")))
  185.     ((("t" "y" "u"). ())(("ñ┴" "Ñ┴" "Ä┴") ("ñσ" "Ñσ" "Ä¡")))
  186.     ((("t" "y" "e"). ())(("ñ┴" "Ñ┴" "Ä┴") ("ñº" "Ѻ" "Ĭ")))
  187.     ((("t" "y" "o"). ())(("ñ┴" "Ñ┴" "Ä┴") ("ñτ" "Ñτ" "Ä«")))
  188.  
  189.     ((("t" "s" "a"). ())(("ñ─" "Ñ─" "Ä┬") ("ñí" "Ñí" "ĺ")))
  190.     ((("t" "s" "i"). ())(("ñ─" "Ñ─" "Ä┬") ("ñú" "Ñú" "Ä¿")))
  191.     ((("t" "s" "u"). ())("ñ─" "Ñ─" "Ä┬"))
  192.     ((("t" "s" "e"). ())(("ñ─" "Ñ─" "Ä┬") ("ñº" "Ѻ" "Ĭ")))
  193.     ((("t" "s" "o"). ())(("ñ─" "Ñ─" "Ä┬") ("ñ⌐" "Ñ⌐" "Ľ")))
  194.  
  195.     ((("c" "y" "a"). ())(("ñ┴" "Ñ┴" "Ä┴") ("ñπ" "Ñπ" "ļ")))
  196.     ((("c" "y" "i"). ())(("ñ┴" "Ñ┴" "Ä┴") ("ñú" "Ñú" "Ä¿")))
  197.     ((("c" "y" "u"). ())(("ñ┴" "Ñ┴" "Ä┴") ("ñσ" "Ñσ" "Ä¡")))
  198.     ((("c" "y" "e"). ())(("ñ┴" "Ñ┴" "Ä┴") ("ñº" "Ѻ" "Ĭ")))
  199.     ((("c" "y" "o"). ())(("ñ┴" "Ñ┴" "Ä┴") ("ñτ" "Ñτ" "Ä«")))
  200.  
  201.     ((("x" "t" "u"). ())("ñ├" "Ñ├" "Ä»"))
  202.     ((("x" "t" "s" "u"). ())("ñ├" "Ñ├" "Ä»"))
  203.     ((("c" "c"). ("c"))("ñ├" "Ñ├" "Ä»"))
  204.  
  205.     ((("d" "d"). ("d"))("ñ├" "Ñ├" "Ä»"))
  206.  
  207.     ((("d" "a"). ())("ñ└" "Ñ└" "Ä└Ä▐"))
  208.     ((("d" "i"). ())("ñ┬" "Ñ┬" "Ä┴Ä▐"))
  209.     ((("d" "u"). ())("ñ┼" "Ñ┼" "Ä┬Ä▐"))
  210.     ((("d" "e"). ())("ñ╟" "Ñ╟" "Ä├Ä▐"))
  211.     ((("d" "o"). ())("ñ╔" "Ñ╔" "Ä─Ä▐"))
  212.  
  213.     ((("d" "y" "a"). ())(("ñ┬" "Ñ┬" "Ä┴Ä▐") ("ñπ" "Ñπ" "ļ")))
  214.     ((("d" "y" "i"). ())(("ñ┬" "Ñ┬" "Ä┴Ä▐") ("ñú" "Ñú" "Ä¿")))
  215.     ((("d" "y" "u"). ())(("ñ┬" "Ñ┬" "Ä┴Ä▐") ("ñσ" "Ñσ" "Ä¡")))
  216.     ((("d" "y" "e"). ())(("ñ┬" "Ñ┬" "Ä┴Ä▐") ("ñº" "Ѻ" "Ĭ")))
  217.     ((("d" "y" "o"). ())(("ñ┬" "Ñ┬" "Ä┴Ä▐") ("ñτ" "Ñτ" "Ä«")))
  218.  
  219.     ((("n" "n"). ())("ñ≤" "Ñ≤" "Ä▌"))
  220.     ((("n" "'"). ())("ñ≤" "Ñ≤" "Ä▌"))
  221.     ((("n"). ())("ñ≤" "Ñ≤" "Ä▌"))
  222.  
  223.     ((("n" "a"). ())("ñ╩" "Ñ╩" "Ä┼"))
  224.     ((("n" "i"). ())("ñ╦" "Ñ╦" "Ä╞"))
  225.     ((("n" "u"). ())("ñ╠" "Ñ╠" "Ä╟"))
  226.     ((("n" "e"). ())("ñ═" "Ñ═" "Ä╚"))
  227.     ((("n" "o"). ())("ñ╬" "Ñ╬" "Ä╔"))
  228.  
  229.     ((("n" "y" "a"). ())(("ñ╦" "Ñ╦" "Ä╞") ("ñπ" "Ñπ" "ļ")))
  230.     ((("n" "y" "i"). ())(("ñ╦" "Ñ╦" "Ä╞") ("ñú" "Ñú" "Ä¿")))
  231.     ((("n" "y" "u"). ())(("ñ╦" "Ñ╦" "Ä╞") ("ñσ" "Ñσ" "Ä¡")))
  232.     ((("n" "y" "e"). ())(("ñ╦" "Ñ╦" "Ä╞") ("ñº" "Ѻ" "Ĭ")))
  233.     ((("n" "y" "o"). ())(("ñ╦" "Ñ╦" "Ä╞") ("ñτ" "Ñτ" "Ä«")))
  234.  
  235.     ((("h" "h"). ("h"))("ñ├" "Ñ├" "Ä»"))
  236.  
  237.     ((("h" "a"). ())("ñ╧" "Ñ╧" "Ä╩"))
  238.     ((("h" "i"). ())("ñ╥" "Ñ╥" "Ä╦"))
  239.     ((("h" "u"). ())("ñ╒" "Ñ╒" "Ä╠"))
  240.     ((("h" "e"). ())("ñ╪" "Ñ╪" "Ä═"))
  241.     ((("h" "o"). ())("ñ█" "Ñ█" "Ä╬"))
  242.  
  243.     ((("h" "y" "a"). ())(("ñ╥" "Ñ╥" "Ä╦") ("ñπ" "Ñπ" "ļ")))
  244.     ((("h" "y" "i"). ())(("ñ╥" "Ñ╥" "Ä╦") ("ñú" "Ñú" "Ä¿")))
  245.     ((("h" "y" "u"). ())(("ñ╥" "Ñ╥" "Ä╦") ("ñσ" "Ñσ" "Ä¡")))
  246.     ((("h" "y" "e"). ())(("ñ╥" "Ñ╥" "Ä╦") ("ñº" "Ѻ" "Ĭ")))
  247.     ((("h" "y" "o"). ())(("ñ╥" "Ñ╥" "Ä╦") ("ñτ" "Ñτ" "Ä«")))
  248.  
  249.     ((("f" "f"). ("f"))("ñ├" "Ñ├" "Ä»"))
  250.  
  251.     ((("f" "a"). ())(("ñ╒" "Ñ╒" "Ä╠") ("ñí" "Ñí" "ĺ")))
  252.     ((("f" "i"). ())(("ñ╒" "Ñ╒" "Ä╠") ("ñú" "Ñú" "Ä¿")))
  253.     ((("f" "u"). ())("ñ╒" "Ñ╒" "Ä╠"))
  254.     ((("f" "e"). ())(("ñ╒" "Ñ╒" "Ä╠") ("ñº" "Ѻ" "Ĭ")))
  255.     ((("f" "o"). ())(("ñ╒" "Ñ╒" "Ä╠") ("ñ⌐" "Ñ⌐" "Ľ")))
  256.  
  257.     ((("f" "y" "a"). ())(("ñ╒" "Ñ╒" "Ä╠") ("ñπ" "Ñπ" "ļ")))
  258.     ((("f" "y" "i"). ())(("ñ╒" "Ñ╒" "Ä╠") ("ñú" "Ñú" "Ä¿")))
  259.     ((("f" "y" "u"). ())(("ñ╒" "Ñ╒" "Ä╠") ("ñσ" "Ñσ" "Ä¡")))
  260.     ((("f" "y" "e"). ())(("ñ╒" "Ñ╒" "Ä╠") ("ñº" "Ѻ" "Ĭ")))
  261.     ((("f" "y" "o"). ())(("ñ╒" "Ñ╒" "Ä╠") ("ñτ" "Ñτ" "Ä«")))
  262.  
  263.     ((("b" "b"). ("b"))("ñ├" "Ñ├" "Ä»"))
  264.  
  265.     ((("b" "a"). ())("ñ╨" "Ñ╨" "Ä╩Ä▐"))
  266.     ((("b" "i"). ())("ñ╙" "Ñ╙" "Ä╦Ä▐"))
  267.     ((("b" "u"). ())("ñ╓" "Ñ╓" "Ä╠Ä▐"))
  268.     ((("b" "e"). ())("ñ┘" "Ñ┘" "Ä═Ä▐"))
  269.     ((("b" "o"). ())("ñ▄" "Ñ▄" "Ä╬Ä▐"))
  270.  
  271.     ((("b" "y" "a"). ())(("ñ╙" "Ñ╙" "Ä╦Ä▐") ("ñπ" "Ñπ" "ļ")))
  272.     ((("b" "y" "i"). ())(("ñ╙" "Ñ╙" "Ä╦Ä▐") ("ñú" "Ñú" "Ä¿")))
  273.     ((("b" "y" "u"). ())(("ñ╙" "Ñ╙" "Ä╦Ä▐") ("ñσ" "Ñσ" "Ä¡")))
  274.     ((("b" "y" "e"). ())(("ñ╙" "Ñ╙" "Ä╦Ä▐") ("ñº" "Ѻ" "Ĭ")))
  275.     ((("b" "y" "o"). ())(("ñ╙" "Ñ╙" "Ä╦Ä▐") ("ñτ" "Ñτ" "Ä«")))
  276.  
  277.     ((("p" "p"). ("p"))("ñ├" "Ñ├" "Ä»"))
  278.  
  279.     ((("p" "a"). ())("ñ╤" "Ñ╤" "Ä╩Ä▀"))
  280.     ((("p" "i"). ())("ñ╘" "Ñ╘" "Ä╦Ä▀"))
  281.     ((("p" "u"). ())("ñ╫" "Ñ╫" "Ä╠Ä▀"))
  282.     ((("p" "e"). ())("ñ┌" "Ñ┌" "Ä═Ä▀"))
  283.     ((("p" "o"). ())("ñ▌" "Ñ▌" "Ä╬Ä▀"))
  284.  
  285.     ((("p" "y" "a"). ())(("ñ╘" "Ñ╘" "Ä╦Ä▀") ("ñπ" "Ñπ" "ļ")))
  286.     ((("p" "y" "i"). ())(("ñ╘" "Ñ╘" "Ä╦Ä▀") ("ñú" "Ñú" "Ä¿")))
  287.     ((("p" "y" "u"). ())(("ñ╘" "Ñ╘" "Ä╦Ä▀") ("ñσ" "Ñσ" "Ä¡")))
  288.     ((("p" "y" "e"). ())(("ñ╘" "Ñ╘" "Ä╦Ä▀") ("ñº" "Ѻ" "Ĭ")))
  289.     ((("p" "y" "o"). ())(("ñ╘" "Ñ╘" "Ä╦Ä▀") ("ñτ" "Ñτ" "Ä«")))
  290.  
  291.     ((("m" "m"). ("m"))("ñ├" "Ñ├" "Ä»"))
  292.  
  293.     ((("m" "b"). ("b"))("ñ≤" "Ñ≤" "Ä▌"))
  294.     ((("m" "p"). ("p"))("ñ≤" "Ñ≤" "Ä▌"))
  295.  
  296.     ((("m" "a"). ())("ñ▐" "Ñ▐" "Ä╧"))
  297.     ((("m" "i"). ())("ñ▀" "Ñ▀" "Ä╨"))
  298.     ((("m" "u"). ())("ñα" "Ñα" "Ä╤"))
  299.     ((("m" "e"). ())("ñß" "Ñß" "Ä╥"))
  300.     ((("m" "o"). ())("ñΓ" "ÑΓ" "Ä╙"))
  301.  
  302.     ((("m" "y" "a"). ())(("ñ▀" "Ñ▀" "Ä╨") ("ñπ" "Ñπ" "ļ")))
  303.     ((("m" "y" "i"). ())(("ñ▀" "Ñ▀" "Ä╨") ("ñú" "Ñú" "Ä¿")))
  304.     ((("m" "y" "u"). ())(("ñ▀" "Ñ▀" "Ä╨") ("ñσ" "Ñσ" "Ä¡")))
  305.     ((("m" "y" "e"). ())(("ñ▀" "Ñ▀" "Ä╨") ("ñº" "Ѻ" "Ĭ")))
  306.     ((("m" "y" "o"). ())(("ñ▀" "Ñ▀" "Ä╨") ("ñτ" "Ñτ" "Ä«")))
  307.  
  308.     ((("y" "y"). ("y"))("ñ├" "Ñ├" "Ä»"))
  309.  
  310.     ((("y" "a"). ())("ñΣ" "ÑΣ" "Ä╘"))
  311.     ((("y" "u"). ())("ñµ" "ѵ" "Ä╒"))
  312.     ((("y" "e"). ())(("ññ" "Ññ" "Ä▓") ("ñº" "Ѻ" "Ĭ")))
  313.     ((("y" "o"). ())("ñΦ" "ÑΦ" "Ä╓"))
  314.  
  315.     ((("x" "c" "a"). ())("Ñ⌡" "Ñ⌡" "Ä╢"))
  316.     ((("x" "k" "a"). ())("Ñ⌡" "Ñ⌡" "Ä╢"))
  317.     ((("x" "k" "e"). ())("Ñ÷" "Ñ÷" "Ä╣"))
  318.  
  319.     ((("x" "y" "a"). ())("ñπ" "Ñπ" "ļ"))
  320.     ((("x" "y" "u"). ())("ñσ" "Ñσ" "Ä¡"))
  321.     ((("x" "y" "o"). ())("ñτ" "Ñτ" "Ä«"))
  322.  
  323.     ((("r" "r"). ("r"))("ñ├" "Ñ├" "Ä»"))
  324.  
  325.     ((("r" "a"). ())("ñΘ" "ÑΘ" "Ä╫"))
  326.     ((("r" "i"). ())("ñΩ" "ÑΩ" "Ä╪"))
  327.     ((("r" "u"). ())("ñδ" "Ñδ" "Ä┘"))
  328.     ((("r" "e"). ())("ñ∞" "Ñ∞" "Ä┌"))
  329.     ((("r" "o"). ())("ñφ" "Ñφ" "Ä█"))
  330.  
  331.     ((("l" "t" "u"). ())("ñ├" "Ñ├" "Ä»"))
  332.     ((("l" "t" "s" "u"). ())("ñ├" "Ñ├" "Ä»"))
  333.  
  334.     ((("l" "y" "a"). ())("ñπ" "Ñπ" "ļ"))
  335.     ((("l" "y" "i"). ())("ñú" "Ñú" "Ä¿"))
  336.     ((("l" "y" "u"). ())("ñσ" "Ñσ" "Ä¡"))
  337.     ((("l" "y" "e"). ())("ñº" "Ѻ" "Ĭ"))
  338.     ((("l" "y" "o"). ())("ñτ" "Ñτ" "Ä«"))
  339.  
  340.     ((("r" "y" "a"). ())(("ñΩ" "ÑΩ" "Ä╪") ("ñπ" "Ñπ" "ļ")))
  341.     ((("r" "y" "i"). ())(("ñΩ" "ÑΩ" "Ä╪") ("ñú" "Ñú" "Ä¿")))
  342.     ((("r" "y" "u"). ())(("ñΩ" "ÑΩ" "Ä╪") ("ñσ" "Ñσ" "Ä¡")))
  343.     ((("r" "y" "e"). ())(("ñΩ" "ÑΩ" "Ä╪") ("ñº" "Ѻ" "Ĭ")))
  344.     ((("r" "y" "o"). ())(("ñΩ" "ÑΩ" "Ä╪") ("ñτ" "Ñτ" "Ä«")))
  345.  
  346.     ((("w" "w"). ("w"))("ñ├" "Ñ├" "Ä»"))
  347.  
  348.     ((("w" "a"). ())("ñ∩" "Ñ∩" "Ä▄"))
  349.     ((("w" "i"). ())(("ñª" "Ѫ" "Ä│") ("ñú" "Ñú" "Ä¿")))
  350.     ((("w" "u"). ())("ñª" "Ѫ" "Ä│"))
  351.     ((("w" "e"). ())(("ñª" "Ѫ" "Ä│") ("ñº" "Ѻ" "Ĭ")))
  352.     ((("w" "o"). ())("ñ≥" "Ñ≥" "Ī"))
  353.     ((("w" "h" "a"). ())(("ñª" "Ѫ" "Ä│") ("ñí" "Ñí" "ĺ")))
  354.     ((("w" "h" "i"). ())(("ñª" "Ѫ" "Ä│") ("ñú" "Ñú" "Ä¿")))
  355.     ((("w" "h" "u"). ())("ñª" "Ѫ" "Ä│"))
  356.     ((("w" "h" "e"). ())(("ñª" "Ѫ" "Ä│") ("ñº" "Ѻ" "Ĭ")))
  357.     ((("w" "h" "o"). ())(("ñª" "Ѫ" "Ä│") ("ñ⌐" "Ñ⌐" "Ľ")))
  358.  
  359.     ((("v" "v"). ("v"))("ñ├" "Ñ├" "Ä»"))
  360.  
  361.     ((("v" "a"). ())(("ñªí½" "Ñ⌠" "Ä│Ä▐") ("ñí" "Ñí" "ĺ")))
  362.     ((("v" "i"). ())(("ñªí½" "Ñ⌠" "Ä│Ä▐") ("ñú" "Ñú" "Ä¿")))
  363.     ((("v" "u"). ())("ñªí½" "Ñ⌠" "Ä│Ä▐"))
  364.     ((("v" "e"). ())(("ñªí½" "Ñ⌠" "Ä│Ä▐") ("ñº" "Ѻ" "Ĭ")))
  365.     ((("v" "o"). ())(("ñªí½" "Ñ⌠" "Ä│Ä▐") ("ñ⌐" "Ñ⌐" "Ľ")))
  366.  
  367.     ((("v" "y" "a"). ())(("ñªí½" "Ñ⌠" "Ä│Ä▐") ("ñπ" "Ñπ" "ļ")))
  368.     ((("v" "y" "u"). ())(("ñªí½" "Ñ⌠" "Ä│Ä▐") ("ñσ" "Ñσ" "Ä¡")))
  369.     ((("v" "y" "o"). ())(("ñªí½" "Ñ⌠" "Ä│Ä▐") ("ñτ" "Ñτ" "Ä«")))
  370.  
  371.     ((("z" "k"). ())("ó¼" "ó¼" ""))
  372.     ((("z" "j"). ())("ó¡" "ó¡" ""))
  373.     ((("z" "h"). ())("ó½" "ó½" ""))
  374.     ((("z" "l"). ())("ó¬" "ó¬" ""))
  375.     ((("z" "-"). ())("í┴" "í┴" ""))
  376.     ((("z" "["). ())("í╪" "í╪" ""))
  377.     ((("z" "]"). ())("í┘" "í┘" ""))
  378.     ((("z" ","). ())("í┼" "í┼" ""))
  379.     ((("z" "."). ())("í─" "í─" ""))
  380.     ((("z" "/"). ())("íª" "íª" "ÄÑ"))
  381.     ))
  382.  
  383. (define ja-rk-rule-additional
  384.   '(
  385.     ((("d" "s" "u"). ())("ñ┼" "Ñ┼" "Ä┬Ä▐"))
  386.  
  387.     ((("d" "h" "a"). ())(("ñ╟" "Ñ╟" "Ä├Ä▐") ("ñπ" "Ñπ" "ļ")))
  388.     ((("d" "h" "i"). ())(("ñ╟" "Ñ╟" "Ä├Ä▐") ("ñú" "Ñú" "Ä¿")))
  389.     ((("d" "h" "u"). ())(("ñ╟" "Ñ╟" "Ä├Ä▐") ("ñσ" "Ñσ" "Ä¡")))
  390.     ((("d" "h" "e"). ())(("ñ╟" "Ñ╟" "Ä├Ä▐") ("ñº" "Ѻ" "Ĭ")))
  391.     ((("d" "h" "o"). ())(("ñ╟" "Ñ╟" "Ä├Ä▐") ("ñτ" "Ñτ" "Ä«")))
  392.  
  393.     ((("d" "w" "a"). ())(("ñ╔" "Ñ╔" "Ä─Ä▐") ("ñí" "Ñí" "ĺ")))
  394.     ((("d" "w" "i"). ())(("ñ╔" "Ñ╔" "Ä─Ä▐") ("ñú" "Ñú" "Ä¿")))
  395.     ((("d" "w" "u"). ())(("ñ╔" "Ñ╔" "Ä─Ä▐") ("ñÑ" "ÑÑ" "Ä⌐")))
  396.     ((("d" "w" "e"). ())(("ñ╔" "Ñ╔" "Ä─Ä▐") ("ñº" "Ѻ" "Ĭ")))
  397.     ((("d" "w" "o"). ())(("ñ╔" "Ñ╔" "Ä─Ä▐") ("ñ⌐" "Ñ⌐" "Ľ")))
  398.  
  399.     ((("k" "w" "a"). ())(("ñ»" "Ñ»" "Ä╕") ("ñí" "Ñí" "ĺ")))
  400.     ((("k" "w" "i"). ())(("ñ»" "Ñ»" "Ä╕") ("ñú" "Ñú" "Ä¿")))
  401.     ((("k" "w" "u"). ())(("ñ»" "Ñ»" "Ä╕") ("ñÑ" "ÑÑ" "Ä⌐")))
  402.     ((("k" "w" "e"). ())(("ñ»" "Ñ»" "Ä╕") ("ñº" "Ѻ" "Ĭ")))
  403.     ((("k" "w" "o"). ())(("ñ»" "Ñ»" "Ä╕") ("ñ⌐" "Ñ⌐" "Ľ")))
  404.  
  405.     ((("s" "h" "a"). ())(("ñ╖" "Ñ╖" "Ä╝") ("ñπ" "Ñπ" "ļ")))
  406.     ((("s" "h" "i"). ())("ñ╖" "Ñ╖" "Ä╝"))
  407.     ((("s" "h" "u"). ())(("ñ╖" "Ñ╖" "Ä╝") ("ñσ" "Ñσ" "Ä¡")))
  408.     ((("s" "h" "e"). ())(("ñ╖" "Ñ╖" "Ä╝") ("ñº" "Ѻ" "Ĭ")))
  409.     ((("s" "h" "o"). ())(("ñ╖" "Ñ╖" "Ä╝") ("ñτ" "Ñτ" "Ä«")))
  410.  
  411.     ((("s" "w" "a"). ())(("ñ╣" "Ñ╣" "Ä╜") ("ñí" "Ñí" "ĺ")))
  412.     ((("s" "w" "i"). ())(("ñ╣" "Ñ╣" "Ä╜") ("ñú" "Ñú" "Ä¿")))
  413.     ((("s" "w" "u"). ())(("ñ╣" "Ñ╣" "Ä╜") ("ñÑ" "ÑÑ" "Ä⌐")))
  414.     ((("s" "w" "e"). ())(("ñ╣" "Ñ╣" "Ä╜") ("ñº" "Ѻ" "Ĭ")))
  415.     ((("s" "w" "o"). ())(("ñ╣" "Ñ╣" "Ä╜") ("ñ⌐" "Ñ⌐" "Ľ")))
  416.  
  417.     ((("t" "w" "a"). ())(("ñ╚" "Ñ╚" "Ä─") ("ñí" "Ñí" "ĺ")))
  418.     ((("t" "w" "i"). ())(("ñ╚" "Ñ╚" "Ä─") ("ñú" "Ñú" "Ä¿")))
  419.     ((("t" "w" "u"). ())(("ñ╚" "Ñ╚" "Ä─") ("ñÑ" "ÑÑ" "Ä⌐")))
  420.     ((("t" "w" "e"). ())(("ñ╚" "Ñ╚" "Ä─") ("ñº" "Ѻ" "Ĭ")))
  421.     ((("t" "w" "o"). ())(("ñ╚" "Ñ╚" "Ä─") ("ñ⌐" "Ñ⌐" "Ľ")))
  422.  
  423.     ((("t" "h" "a"). ())(("ñ╞" "Ñ╞" "Ä├") ("ñπ" "Ñπ" "ļ")))
  424.     ((("t" "h" "i"). ())(("ñ╞" "Ñ╞" "Ä├") ("ñú" "Ñú" "Ä¿")))
  425.     ((("t" "h" "u"). ())(("ñ╞" "Ñ╞" "Ä├") ("ñσ" "Ñσ" "Ä¡")))
  426.     ((("t" "h" "e"). ())(("ñ╞" "Ñ╞" "Ä├") ("ñº" "Ѻ" "Ĭ")))
  427.     ((("t" "h" "o"). ())(("ñ╞" "Ñ╞" "Ä├") ("ñτ" "Ñτ" "Ä«")))
  428.  
  429.     ((("h" "w" "a"). ())(("ñ╒" "Ñ╒" "Ä╠") ("ñí" "Ñí" "ĺ")))
  430.     ((("h" "w" "i"). ())(("ñ╒" "Ñ╒" "Ä╠") ("ñú" "Ñú" "Ä¿")))
  431.     ((("h" "w" "e"). ())(("ñ╒" "Ñ╒" "Ä╠") ("ñº" "Ѻ" "Ĭ")))
  432.     ((("h" "w" "o"). ())(("ñ╒" "Ñ╒" "Ä╠") ("ñ⌐" "Ñ⌐" "Ľ")))
  433.  
  434.     ((("f" "w" "a"). ())(("ñ╒" "Ñ╒" "Ä╠") ("ñí" "Ñí" "ĺ")))
  435.     ((("f" "w" "i"). ())(("ñ╒" "Ñ╒" "Ä╠") ("ñú" "Ñú" "Ä¿")))
  436.     ((("f" "w" "u"). ())(("ñ╒" "Ñ╒" "Ä╠") ("ñÑ" "ÑÑ" "Ä⌐")))
  437.     ((("f" "w" "e"). ())(("ñ╒" "Ñ╒" "Ä╠") ("ñº" "Ѻ" "Ĭ")))
  438.     ((("f" "w" "o"). ())(("ñ╒" "Ñ╒" "Ä╠") ("ñ⌐" "Ñ⌐" "Ľ")))
  439.  
  440.     ((("x" "w" "a"). ())("ñε" "Ñε" "Ä▄"))
  441.     ((("x" "w" "i"). ())("ñ≡" "Ñ≡" "Ä¿"))
  442.     ((("x" "w" "e"). ())("ñ±" "ѱ" "Ĭ"))
  443.  
  444.     ((("w" "y" "i"). ())("ñ≡" "Ñ≡" "Ä¿"))
  445.     ((("w" "y" "e"). ())("ñ±" "ѱ" "Ĭ"))
  446.  
  447.     ((("c" "h" "a"). ())(("ñ┴" "Ñ┴" "Ä┴") ("ñπ" "Ñπ" "ļ")))
  448.     ((("c" "h" "i"). ())("ñ┴" "Ñ┴" "Ä┴"))
  449.     ((("c" "h" "u"). ())(("ñ┴" "Ñ┴" "Ä┴") ("ñσ" "Ñσ" "Ä¡")))
  450.     ((("c" "h" "e"). ())(("ñ┴" "Ñ┴" "Ä┴") ("ñº" "Ѻ" "Ĭ")))
  451.     ((("c" "h" "o"). ())(("ñ┴" "Ñ┴" "Ä┴") ("ñτ" "Ñτ" "Ä«")))
  452.  
  453.     ((("q" "w" "a"). ())(("ñ»" "Ñ»" "Ä╕") ("ñí" "Ñí" "ĺ")))
  454.     ((("q" "w" "i"). ())(("ñ»" "Ñ»" "Ä╕") ("ñú" "Ñú" "Ä¿")))
  455.     ((("q" "w" "u"). ())(("ñ»" "Ñ»" "Ä╕") ("ñÑ" "ÑÑ" "Ä⌐")))
  456.     ((("q" "w" "e"). ())(("ñ»" "Ñ»" "Ä╕") ("ñº" "Ѻ" "Ĭ")))
  457.     ((("q" "w" "o"). ())(("ñ»" "Ñ»" "Ä╕") ("ñ⌐" "Ñ⌐" "Ľ")))
  458.  
  459.     ((("q" "y" "a"). ())(("ñ»" "Ñ»" "Ä╕") ("ñπ" "Ñπ" "ļ")))
  460.     ((("q" "y" "i"). ())(("ñ»" "Ñ»" "Ä╕") ("ñú" "Ñú" "Ä¿")))
  461.     ((("q" "y" "u"). ())(("ñ»" "Ñ»" "Ä╕") ("ñσ" "Ñσ" "Ä¡")))
  462.     ((("q" "y" "e"). ())(("ñ»" "Ñ»" "Ä╕") ("ñº" "Ѻ" "Ĭ")))
  463.     ((("q" "y" "o"). ())(("ñ»" "Ñ»" "Ä╕") ("ñτ" "Ñτ" "Ä«")))
  464.  
  465.     ((("g" "w" "a"). ())(("ñ░" "Ñ░" "Ä╕Ä▐") ("ñí" "Ñí" "ĺ")))
  466.     ((("g" "w" "i"). ())(("ñ░" "Ñ░" "Ä╕Ä▐") ("ñú" "Ñú" "Ä¿")))
  467.     ((("g" "w" "u"). ())(("ñ░" "Ñ░" "Ä╕Ä▐") ("ñÑ" "ÑÑ" "Ä⌐")))
  468.     ((("g" "w" "e"). ())(("ñ░" "Ñ░" "Ä╕Ä▐") ("ñº" "Ѻ" "Ĭ")))
  469.     ((("g" "w" "o"). ())(("ñ░" "Ñ░" "Ä╕Ä▐") ("ñ⌐" "Ñ⌐" "Ľ")))
  470.  
  471.     ((("z" "w" "a"). ())(("ñ║" "Ñ║" "Ä╜Ä▐") ("ñí" "Ñí" "ĺ")))
  472.     ((("z" "w" "i"). ())(("ñ║" "Ñ║" "Ä╜Ä▐") ("ñú" "Ñú" "Ä¿")))
  473.     ((("z" "w" "u"). ())(("ñ║" "Ñ║" "Ä╜Ä▐") ("ñÑ" "ÑÑ" "Ä⌐")))
  474.     ((("z" "w" "e"). ())(("ñ║" "Ñ║" "Ä╜Ä▐") ("ñº" "Ѻ" "Ĭ")))
  475.     ((("z" "w" "o"). ())(("ñ║" "Ñ║" "Ä╜Ä▐") ("ñ⌐" "Ñ⌐" "Ľ")))
  476.  
  477.     ;((("n" "w" "a"). ())(("ñ╠" "Ñ╠" "Ä╟") ("ñí" "Ñí" "ĺ")))
  478.     ;((("n" "w" "i"). ())(("ñ╠" "Ñ╠" "Ä╟") ("ñú" "Ñú" "Ä¿")))
  479.     ;((("n" "w" "u"). ())(("ñ╠" "Ñ╠" "Ä╟") ("ñÑ" "ÑÑ" "Ä⌐")))
  480.     ;((("n" "w" "e"). ())(("ñ╠" "Ñ╠" "Ä╟") ("ñº" "Ѻ" "Ĭ")))
  481.     ;((("n" "w" "o"). ())(("ñ╠" "Ñ╠" "Ä╟") ("ñ⌐" "Ñ⌐" "Ľ")))
  482.  
  483.     ((("b" "w" "a"). ())(("ñ╓" "Ñ╓" "Ä╠Ä▐") ("ñí" "Ñí" "ĺ")))
  484.     ((("b" "w" "i"). ())(("ñ╓" "Ñ╓" "Ä╠Ä▐") ("ñú" "Ñú" "Ä¿")))
  485.     ((("b" "w" "u"). ())(("ñ╓" "Ñ╓" "Ä╠Ä▐") ("ñÑ" "ÑÑ" "Ä⌐")))
  486.     ((("b" "w" "e"). ())(("ñ╓" "Ñ╓" "Ä╠Ä▐") ("ñº" "Ѻ" "Ĭ")))
  487.     ((("b" "w" "o"). ())(("ñ╓" "Ñ╓" "Ä╠Ä▐") ("ñ⌐" "Ñ⌐" "Ľ")))
  488.  
  489.     ((("p" "w" "a"). ())(("ñ╫" "Ñ╫" "Ä╠Ä▀") ("ñí" "Ñí" "ĺ")))
  490.     ((("p" "w" "i"). ())(("ñ╫" "Ñ╫" "Ä╠Ä▀") ("ñú" "Ñú" "Ä¿")))
  491.     ((("p" "w" "u"). ())(("ñ╫" "Ñ╫" "Ä╠Ä▀") ("ñÑ" "ÑÑ" "Ä⌐")))
  492.     ((("p" "w" "e"). ())(("ñ╫" "Ñ╫" "Ä╠Ä▀") ("ñº" "Ѻ" "Ĭ")))
  493.     ((("p" "w" "o"). ())(("ñ╫" "Ñ╫" "Ä╠Ä▀") ("ñ⌐" "Ñ⌐" "Ľ")))
  494.  
  495.     ((("m" "w" "a"). ())(("ñα" "Ñα" "Ä╤") ("ñí" "Ñí" "ĺ")))
  496.     ((("m" "w" "i"). ())(("ñα" "Ñα" "Ä╤") ("ñú" "Ñú" "Ä¿")))
  497.     ((("m" "w" "u"). ())(("ñα" "Ñα" "Ä╤") ("ñÑ" "ÑÑ" "Ä⌐")))
  498.     ((("m" "w" "e"). ())(("ñα" "Ñα" "Ä╤") ("ñº" "Ѻ" "Ĭ")))
  499.     ((("m" "w" "o"). ())(("ñα" "Ñα" "Ä╤") ("ñ⌐" "Ñ⌐" "Ľ")))
  500.  
  501.     ((("y" "w" "a"). ())(("ñµ" "ѵ" "Ä╒") ("ñí" "Ñí" "ĺ")))
  502.     ((("y" "w" "i"). ())(("ñµ" "ѵ" "Ä╒") ("ñú" "Ñú" "Ä¿")))
  503.     ((("y" "w" "u"). ())(("ñµ" "ѵ" "Ä╒") ("ñÑ" "ÑÑ" "Ä⌐")))
  504.     ((("y" "w" "e"). ())(("ñµ" "ѵ" "Ä╒") ("ñº" "Ѻ" "Ĭ")))
  505.     ((("y" "w" "o"). ())(("ñµ" "ѵ" "Ä╒") ("ñ⌐" "Ñ⌐" "Ľ")))
  506.  
  507.     ((("r" "w" "a"). ())(("ñδ" "Ñδ" "Ä┘") ("ñí" "Ñí" "ĺ")))
  508.     ((("r" "w" "i"). ())(("ñδ" "Ñδ" "Ä┘") ("ñú" "Ñú" "Ä¿")))
  509.     ((("r" "w" "u"). ())(("ñδ" "Ñδ" "Ä┘") ("ñÑ" "ÑÑ" "Ä⌐")))
  510.     ((("r" "w" "e"). ())(("ñδ" "Ñδ" "Ä┘") ("ñº" "Ѻ" "Ĭ")))
  511.     ((("r" "w" "o"). ())(("ñδ" "Ñδ" "Ä┘") ("ñ⌐" "Ñ⌐" "Ľ")))
  512.  
  513.     ((("d" "'" "i"). ())(("ñ╟" "Ñ╟" "Ä├Ä▐") ("ñú" "Ñú" "Ä¿")))
  514.     ((("d" "'" "y" "u"). ())(("ñ╟" "Ñ╟" "Ä├Ä▐") ("ñσ" "Ñσ" "Ä¡")))
  515.  
  516.     ((("d" "'" "u"). ())(("ñ╔" "Ñ╔" "Ä─Ä▐") ("ñÑ" "ÑÑ" "Ä⌐")))
  517.  
  518.     ((("t" "'" "i"). ())(("ñ╞" "Ñ╞" "Ä├") ("ñú" "Ñú" "Ä¿")))
  519.     ((("t" "'" "y" "u"). ())(("ñ╞" "Ñ╞" "Ä├") ("ñσ" "Ñσ" "Ä¡")))
  520.  
  521.     ((("t" "'" "u"). ())(("ñ╚" "Ñ╚" "Ä─") ("ñÑ" "ÑÑ" "Ä⌐")))
  522.  
  523.     ))
  524.  
  525. (define ja-rk-rule (append ja-rk-rule-basic ja-rk-rule-additional))
  526.  
  527. (define ja-wide-rule
  528.   '(("a" "úß")
  529.     ("b" "úΓ")
  530.     ("c" "úπ")
  531.     ("d" "úΣ")
  532.     ("e" "úσ")
  533.     ("f" "úµ")
  534.     ("g" "úτ")
  535.     ("h" "úΦ")
  536.     ("i" "úΘ")
  537.     ("j" "úΩ")
  538.     ("k" "úδ")
  539.     ("l" "ú∞")
  540.     ("m" "úφ")
  541.     ("n" "úε")
  542.     ("o" "ú∩")
  543.     ("p" "ú≡")
  544.     ("q" "ú±")
  545.     ("r" "ú≥")
  546.     ("s" "ú≤")
  547.     ("t" "ú⌠")
  548.     ("u" "ú⌡")
  549.     ("v" "ú÷")
  550.     ("w" "ú≈")
  551.     ("x" "ú°")
  552.     ("y" "ú∙")
  553.     ("z" "ú·")
  554.     ("A" "ú┴")
  555.     ("B" "ú┬")
  556.     ("C" "ú├")
  557.     ("D" "ú─")
  558.     ("E" "ú┼")
  559.     ("F" "ú╞")
  560.     ("G" "ú╟")
  561.     ("H" "ú╚")
  562.     ("I" "ú╔")
  563.     ("J" "ú╩")
  564.     ("K" "ú╦")
  565.     ("L" "ú╠")
  566.     ("M" "ú═")
  567.     ("N" "ú╬")
  568.     ("O" "ú╧")
  569.     ("P" "ú╨")
  570.     ("Q" "ú╤")
  571.     ("R" "ú╥")
  572.     ("S" "ú╙")
  573.     ("T" "ú╘")
  574.     ("U" "ú╒")
  575.     ("V" "ú╓")
  576.     ("W" "ú╫")
  577.     ("X" "ú╪")
  578.     ("Y" "ú┘")
  579.     ("Z" "ú┌")
  580.  
  581.     ("1" "ú▒")
  582.     ("2" "ú▓")
  583.     ("3" "ú│")
  584.     ("4" "ú┤")
  585.     ("5" "ú╡")
  586.     ("6" "ú╢")
  587.     ("7" "ú╖")
  588.     ("8" "ú╕")
  589.     ("9" "ú╣")
  590.     ("0" "ú░")
  591.  
  592.     ("-" "í▌")
  593.     ("," "íñ")
  594.     ("." "íÑ")
  595.     ("!" "í¬")
  596.     ("\"" "í╔")
  597.     ("#" "í⌠")
  598.     ("$" "í≡")
  599.     ("%" "í≤")
  600.     ("&" "í⌡")
  601.     ("'" "í╟")
  602.     ("(" "í╩")
  603.     (")" "í╦")
  604.     ("~" "í┴")
  605.     ("=" "íß")
  606.     ("^" "í░")
  607.     ("\\" "í└")
  608.     ("yen" "í∩")
  609.     ("|" "í├")
  610.     ("`" "í╞")
  611.     ("@" "í≈")
  612.     ("{" "í╨")
  613.     ("[" "í╬")
  614.     ("+" "í▄")
  615.     (";" "í¿")
  616.     ("*" "í÷")
  617.     (":" "íº")
  618.     ("}" "í╤")
  619.     ("]" "í╧")
  620.     ("<" "íπ")
  621.     (">" "íΣ")
  622.     ("?" "í⌐")
  623.     ("/" "í┐")
  624.     ("_"  "í▓")
  625.     (" " "íí")
  626.     ))
  627.  
  628. ;;
  629. ;; 2004-08-30 Takuro Ashie <ashie@homa.ne.jp>
  630. ;;
  631. ;;   It's a ad-hoc way to detect vowel and consonant in roma string.
  632. ;;   FIXME!
  633. ;;
  634. (define ja-vowel-table
  635.  '(("a" "a")
  636.    ("i" "i")
  637.    ("u" "u")
  638.    ("e" "e")
  639.    ("o" "o")
  640.     ))
  641.  
  642. (define ja-consonant-syllable-table
  643.  '(("b" "")
  644.    ("c" "")
  645.    ("d" "")
  646.    ("f" "fa")
  647.    ("g" "")
  648.    ("h" "")
  649.    ("j" "ji")
  650.    ("k" "")
  651.    ("l" "")
  652.    ("m" "")
  653.    ("n" "nn")
  654.    ("p" "")
  655.    ("q" "")
  656.    ("r" "")
  657.    ("s" "")
  658.    ("t" "")
  659.    ("v" "vu")
  660.    ("w" "wu")
  661.    ("x" "")
  662.    ("y" "")
  663.    ("z" "")
  664.    ("ky" "ki")
  665.    ("gy" "gi")
  666.    ("sy" "si")
  667.    ("zy" "zi")
  668.    ("jy" "ji")
  669.    ("ty" "ti")
  670.    ("ts" "tu")
  671.    ("cy" "ti")
  672.    ("dy" "di")
  673.    ("ny" "ni")
  674.    ("hy" "hi")
  675.    ("fy" "fu")
  676.    ("by" "bi")
  677.    ("py" "pi")
  678.    ("my" "mi")
  679.    ("ly" "li")
  680.    ("wh" "wu")
  681.    ("dh" "de")
  682.    ("dw" "do")
  683.    ("kw" "ku")
  684.    ("sh" "si")
  685.    ("sw" "su")
  686.    ("tw" "to")
  687.    ("th" "te")
  688.    ("hw" "hu")
  689.    ("fw" "fu")
  690.    ("ch" "ti")
  691.    ("qw" "ku")
  692.    ("qy" "ku")
  693.    ("gw" "gu")
  694.    ))
  695.  
  696. (define ja-default-small-tsu-roma "ltu")
  697.  
  698. ;; "ja-direct-rule" seems to be used to commit a character immediately
  699. ;; even when japanese-context (i.e. preedit mode) is on.  I don't think the
  700. ;; rule is needed normally.  So I leave it null by default.  -- ekato
  701. (define ja-direct-rule
  702.   '(
  703.     ))
  704.  
  705. ;; space on (hiragana katakana halfkana) input mode
  706. (define ja-space
  707.   '("íí" "íí" " "))
  708.  
  709. ;; space on (halfwidth-alnum fullwidth-alnum) input mode
  710. (define ja-alnum-space
  711.   '(" " "íí"))
  712.  
  713. ;;
  714. (define ja-find-rec
  715.   (lambda (c rule)
  716.     (if (null? rule)
  717.     #f
  718.     (let ((r (car rule)))
  719.       (if (string=? c (car r))
  720.           (cadr r)
  721.           (ja-find-rec c (cdr rule)))))))
  722.  
  723. (define ja-wide
  724.   (lambda (c)
  725.     (or (ja-find-rec c ja-wide-rule)
  726.         c)))
  727.  
  728. (define ja-direct
  729.   (lambda (c)
  730.     (ja-find-rec c ja-direct-rule)))
  731.  
  732. (define ja-vowel
  733.   (lambda (c)
  734.     (ja-find-rec c ja-vowel-table)))
  735.  
  736. (define ja-consonant-to-syllable
  737.   (lambda (c)
  738.     (ja-find-rec c ja-consonant-syllable-table)))
  739.  
  740. ;;
  741. ;; 2004-08-30 Takuro Ashie <ashie@homa.ne.jp>
  742. ;;
  743. ;; ja-string-list-to-wide-alphabet
  744. ;;
  745. ;;   Convert alphabets in string list to wide alphabets.
  746. ;;   This procedure is ad-hoc. Maybe more generalize is needed.
  747. ;;
  748. (define ja-string-list-to-wide-alphabet
  749.   (lambda (char-list)
  750.     (if (not (null? char-list))
  751.         (string-append (ja-string-list-to-wide-alphabet (cdr char-list))
  752.                        (ja-wide (car char-list)))
  753.         "")))
  754.  
  755.  
  756. ;; Convert a invalid roma consonant at the end of string-list to a valid roma
  757. ;; consonant or valid roma string.
  758. ;;
  759. ;; "Invalid roma string-list" will be generated while editing a preedit string:
  760. ;;
  761. ;;     Convert a "n" which is followed by a vowel to "nn":
  762. ;;       1. at first, type a following string:
  763. ;;          ("ka" "n" "ki")
  764. ;;       2: press backspace (or move the cursor):
  765. ;;          ("ka" "n")
  766. ;;       3. type a vowel:
  767. ;;          ("ka" "n" "i")
  768. ;;       4. On this case, this procedure converts the list to:
  769. ;;          ("ka" "nn" "i")
  770. ;;
  771. ;;     Fix a broken "ñ├":
  772. ;;       1.  at fisrt, type a following string:
  773. ;;             ("a" "t" "ti")
  774. ;;       2.  press backspace (or move the cursor):
  775. ;;             ("a" "t")
  776. ;;       3.  type remaining strings:
  777. ;;             ("a" "t" "ka" "nn" "be" "-")
  778. ;;      (3'. On this case, this procedure converts the list to:
  779. ;;             ("a" "t") -> ("a" "ltu"))
  780. ;;       4.  On this case, this procedure converts the list to:
  781. ;;             ("a" "k" "ka" "nn" "be" "-")
  782. (define ja-fix-deleted-raw-str-to-valid-roma!
  783.   (lambda (raw-str)
  784.     (if (not (null? (car raw-str)))
  785.     (let ((lst (car raw-str)))
  786.       (if (ja-consonant-to-syllable (car lst))
  787.           (if (= (string-length (ja-consonant-to-syllable (car lst))) 2)
  788.           (set-car! lst (ja-consonant-to-syllable (car lst)))
  789.           (set-car! lst ja-default-small-tsu-roma)))))))
  790.  
  791. ;; not sure this is the good place and the procedure is well written...
  792. (define (list-seq-contained? large small)
  793.   (define (list-seq-partial-equal-internal ll sl n)
  794.     (let ((len (length sl)))
  795.       (if (> len (length ll))
  796.       #f
  797.       (if (= len (length (filter-map equal? ll sl)))
  798.           n
  799.           (list-seq-partial-equal-internal (cdr ll) sl (+ n 1))))))
  800.   (if (null? small)
  801.       #f
  802.       (list-seq-partial-equal-internal large small 0)))
  803.  
  804. ;; revise string list contains "ñªí½"
  805. ;; (("í½") ("ñª")) -> ("ñªí½")
  806. (define ja-join-vu
  807.   (lambda (lst)
  808.     (let ((sub (member "í½" lst)))
  809.       (if (and
  810.        sub
  811.        (not (null? (cdr sub)))
  812.        (string=? (car (cdr sub)) "ñª"))
  813.       (append
  814.        (list-head lst (- (length lst) (length sub)))
  815.        '("ñªí½")
  816.        (ja-join-vu (list-tail lst (+ (- (length lst) (length sub)) 2))))
  817.       (if (and
  818.            sub
  819.            (member "í½" (cdr sub)))
  820.           (append
  821.            (list-head lst (+ (- (length lst) (length sub)) 1))
  822.            (ja-join-vu (cdr sub)))
  823.           lst)))))
  824.  
  825. ;; get ("ñó" "Ñó" "Ä▒") from "ñó"
  826. (define ja-find-kana-list-from-rule
  827.   (lambda (rule str)
  828.     (if (not (null? rule))
  829.     (if (pair? (member str (car (cdr (car rule)))))
  830.         (car (cdr (car rule)))
  831.         (ja-find-kana-list-from-rule (cdr rule) str))
  832.         (if (string=?  str "í½")
  833.         (list "í½" "í½" "Ä▐")
  834.         (list str str str)))))
  835.  
  836. ;; (("ñ╕" "Ñ╕" "Ä╝Ä▐") ("ñ≤" "Ñ≤" "Ä▌") ("ñ½" "ѽ" "Ä╢")) from ("ñ╕" "ñ≤" "ñ½")
  837. (define ja-make-kana-str-list
  838.   (lambda (sl)
  839.     (if (not (null? sl))
  840.     (append (list (ja-find-kana-list-from-rule ja-rk-rule-basic (car sl)))
  841.         (ja-make-kana-str-list (cdr sl)))
  842.     '())))
  843.  
  844. (define ja-type-direct           -1)
  845. (define ja-type-hiragana    0)
  846. (define ja-type-katakana    1)
  847. (define ja-type-halfkana    2)
  848. (define ja-type-halfwidth-alnum    3)
  849. (define ja-type-fullwidth-alnum    4)
  850.  
  851. (define ja-opposite-kana
  852.   (lambda (kana)
  853.     (cond
  854.      ((= kana ja-type-hiragana)
  855.       ja-type-katakana)
  856.      ((= kana ja-type-katakana)
  857.       ja-type-hiragana)
  858.      ((= kana ja-type-halfkana)
  859.       ja-type-hiragana))))
  860.  
  861. ;; getting required type of kana string from above kana-str-list
  862. ;; (ja-make-kana-str
  863. ;;  (("ñ╕" "Ñ╕" "Ä╝Ä▐") ("ñ≤" "Ñ≤" "Ä▌") ("ñ½" "ѽ" "Ä╢"))
  864. ;;  ja-type-katakana)
  865. ;;  -> "ѽÑ≤Ñ╕"
  866. (define ja-make-kana-str
  867.   (lambda (sl type)
  868.     (let ((get-str-by-type
  869.        (lambda (l)
  870.          (cond
  871.           ((= type ja-type-hiragana)
  872.            (caar l))
  873.           ((= type ja-type-katakana)
  874.            (car (cdar l)))
  875.           ((= type ja-type-halfkana)
  876.            (cadr (cdar l)))))))
  877.       (if (not (null? sl))
  878.       (string-append (ja-make-kana-str (cdr sl) type)
  879.              (get-str-by-type sl))
  880.       ""))))
  881.     
  882. ;;
  883. ;; 2004-08-30 Takuro Ashie <ashie@homa.ne.jp>
  884. ;;
  885. ;;   In the future, these APIs should be marked as "deprecated" because these
  886. ;;   APIs breaks original "ja-rk-rule" table, and no longer can use it after
  887. ;;   breaks it.
  888. ;;
  889. (define using-kana-table? #f)
  890.  
  891. (define load-kana-table
  892.   (lambda ()
  893.     (require "japanese-kana.scm")
  894.     (set! ja-rk-rule ja-kana-hiragana-rule)
  895.     (set! using-kana-table? #t)
  896.     ;(define-key anthy-kana-toggle-key? "")
  897.     ))
  898.  
  899. (define load-azik-table
  900.   (lambda ()
  901.     (require "japanese-azik.scm")
  902.     (set! ja-rk-rule ja-azik-rule)
  903.     (define-key skk-prev-candidate-key? 'generic-prev-candidate-key?)
  904.     (define-key skk-kana-toggle-key? "@")
  905.     (define-key skk-kanji-mode-key? "`")
  906.     ))
  907.  
  908. (define japanese-roma-set-yen-representation
  909.   (lambda ()
  910.     ;; Since ordinary Japanese users press the "yen sign" key on
  911.     ;; Japanese keyboard in alphanumeric-mode "to input character code
  912.     ;; 134" rather than "to input yen sign symbol", I changed the
  913.     ;; fullwidth yen sign with backslash.  -- YamaKen 2007-09-17
  914.     ;;(set-symbol-value! 'yen "í∩")  ;; XXX
  915.     (set-symbol-value! 'yen "\\")
  916.     ))
  917.  
  918. ;;
  919. (require "rk.scm")
  920.